package com.nstar.model.orderexpress;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="user_info"
 *     
*/
public class UserInfo implements Serializable {

    /** identifier field */
    private String userId;

    /** persistent field */
    private String password;

    /** persistent field */
    private String name;

    /** nullable persistent field */
    private String nickName;

    /** nullable persistent field */
    private String addr;

    /** nullable persistent field */
    private String telephone;

    /** nullable persistent field */
    private String email;

    /** nullable persistent field */
    private String qq;

    /** nullable persistent field */
    private String isOnline;

    /** nullable persistent field */
    private Date registerDate;

    /** nullable persistent field */
    private String remark;

    /** persistent field */
    private com.nstar.model.orderexpress.UserType userType;

    /** persistent field */
    private com.nstar.model.orderexpress.UserLevel userLevel;

    /** persistent field */
    private com.nstar.model.orderexpress.Area area;

    /** persistent field */
    private Set orderInfos;

    /** full constructor */
    public UserInfo(String userId, String password, String name, String nickName, String addr, String telephone, String email, String qq, String isOnline, Date registerDate, String remark, com.nstar.model.orderexpress.UserType userType, com.nstar.model.orderexpress.UserLevel userLevel, com.nstar.model.orderexpress.Area area, Set orderInfos) {
        this.userId = userId;
        this.password = password;
        this.name = name;
        this.nickName = nickName;
        this.addr = addr;
        this.telephone = telephone;
        this.email = email;
        this.qq = qq;
        this.isOnline = isOnline;
        this.registerDate = registerDate;
        this.remark = remark;
        this.userType = userType;
        this.userLevel = userLevel;
        this.area = area;
        this.orderInfos = orderInfos;
    }

    /** default constructor */
    public UserInfo() {
    }

    /** minimal constructor */
    public UserInfo(String userId, String password, String name, com.nstar.model.orderexpress.UserType userType, com.nstar.model.orderexpress.UserLevel userLevel, com.nstar.model.orderexpress.Area area, Set orderInfos) {
        this.userId = userId;
        this.password = password;
        this.name = name;
        this.userType = userType;
        this.userLevel = userLevel;
        this.area = area;
        this.orderInfos = orderInfos;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *             type="java.lang.String"
     *             column="USER_ID"
     *         
     */
    public String getUserId() {
        return this.userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    /** 
     *            @hibernate.property
     *             column="PASSWORD"
     *             length="30"
     *             not-null="true"
     *         
     */
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    /** 
     *            @hibernate.property
     *             column="NAME"
     *             length="50"
     *             not-null="true"
     *         
     */
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /** 
     *            @hibernate.property
     *             column="NICK_NAME"
     *             length="50"
     *         
     */
    public String getNickName() {
        return this.nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /** 
     *            @hibernate.property
     *             column="ADDR"
     *             length="100"
     *         
     */
    public String getAddr() {
        return this.addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    /** 
     *            @hibernate.property
     *             column="TELEPHONE"
     *             length="30"
     *         
     */
    public String getTelephone() {
        return this.telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    /** 
     *            @hibernate.property
     *             column="EMAIL"
     *             length="50"
     *         
     */
    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    /** 
     *            @hibernate.property
     *             column="QQ"
     *             length="20"
     *         
     */
    public String getQq() {
        return this.qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    /** 
     *            @hibernate.property
     *             column="IS_ONLINE"
     *             length="1"
     *         
     */
    public String getIsOnline() {
        return this.isOnline;
    }

    public void setIsOnline(String isOnline) {
        this.isOnline = isOnline;
    }

    /** 
     *            @hibernate.property
     *             column="REGISTER_DATE"
     *             length="19"
     *         
     */
    public Date getRegisterDate() {
        return this.registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    /** 
     *            @hibernate.property
     *             column="REMARK"
     *             length="200"
     *         
     */
    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    /** 
     *            @hibernate.many-to-one
     *             not-null="true"
     *            @hibernate.column name="USER_TYPE_ID"         
     *         
     */
    public com.nstar.model.orderexpress.UserType getUserType() {
        return this.userType;
    }

    public void setUserType(com.nstar.model.orderexpress.UserType userType) {
        this.userType = userType;
    }

    /** 
     *            @hibernate.many-to-one
     *             not-null="true"
     *            @hibernate.column name="LEVEL_ID"         
     *         
     */
    public com.nstar.model.orderexpress.UserLevel getUserLevel() {
        return this.userLevel;
    }

    public void setUserLevel(com.nstar.model.orderexpress.UserLevel userLevel) {
        this.userLevel = userLevel;
    }

    /** 
     *            @hibernate.many-to-one
     *             not-null="true"
     *            @hibernate.column name="AREA_ID"         
     *         
     */
    public com.nstar.model.orderexpress.Area getArea() {
        return this.area;
    }

    public void setArea(com.nstar.model.orderexpress.Area area) {
        this.area = area;
    }

    /** 
     *            @hibernate.set
     *             lazy="true"
     *             inverse="true"
     *             cascade="none"
     *            @hibernate.collection-key
     *             column="USER_ID"
     *            @hibernate.collection-one-to-many
     *             class="com.nstar.model.orderexpress.OrderInfo"
     *         
     */
    public Set getOrderInfos() {
        return this.orderInfos;
    }

    public void setOrderInfos(Set orderInfos) {
        this.orderInfos = orderInfos;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("userId", getUserId())
            .toString();
    }

}
